#ifndef CUSTOMQUADRIC_H_
#define CUSTOMQUADRIC_H_

#include "SceneObject.h"
#include "../expression/Expression.h"
#include "Color.h"
#include <vector>

class CustomQuadric : public SceneObject {
public:
	CustomQuadric(Vector3 position, Expression* exp, Expression* deltaTheta, Expression* deltaPhi);
	virtual ~CustomQuadric();

	void Calculate();
	void SetColor(Expression* rgb[3]);
	void Draw();

private:
	Expression* exp;
	Expression* deltaTheta;
	Expression* deltaPhi;
	Expression* rgb[3];
	double angle;
	std::vector< std::vector<Vector3> > disks;
	std::vector< std::vector<Color> > colors;
};

#endif
